import ACCESS_ENUM from "@/access/ACCESS_ENUM";

/**
 * 因路由和菜单都需要进行权限校验所以将权限校验抽离出来
 * 检查权限
 * @param loginUser   登陆用户
 * @param needAccess  需要的权限
 */
const checkAccess = (loginUser: any, needAccess = ACCESS_ENUM.NOT_LOGIN) => {
  const loginUserAccess = loginUser?.userRole ?? ACCESS_ENUM.NOT_LOGIN;
  //如果不需要访问权限直接放行
  if (needAccess === ACCESS_ENUM.NOT_LOGIN) {
    return true;
  }
  // 如果需要权限为用户，则权限不为未登录就放行
  if (
    needAccess === ACCESS_ENUM.USER &&
    loginUserAccess !== ACCESS_ENUM.NOT_LOGIN
  ) {
    return true;
  }
  // 如果需要权限为管理员 且用户权限为管理员则放行
  if (
    needAccess === ACCESS_ENUM.ADMIN &&
    loginUserAccess === ACCESS_ENUM.ADMIN
  ) {
    return true;
  }
  return false;
};

export default checkAccess;
